﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Model.DTO.User
{
    /// <summary>
    /// 返回用户列表DTO
    /// </summary>
    public class ReturnUserListDTO
    {
        /// <summary>
        /// 用户名(16)
        /// </summary>
        [Required, MaxLength(16)]
        public string UserName { get; set; }
        /// <summary>
        /// 邮箱(32)
        /// </summary>
        [Required, MaxLength(32)]
        public string Email { get; set; }
        /// <summary>
        /// Id
        /// </summary>
        [Required(ErrorMessage = "用户Id不能为空")]
        public int Id { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        [Required(ErrorMessage = "创建时间不能为空")]
        public DateTime CreatedDate { get; set; }
        /// <summary>
        /// 用户类型Id
        /// </summary>
        [Required]
        public int UserTypeId { get; set; }
        /// <summary>
        /// 状态类型Id
        /// </summary>
        [Required]
        public int StateTypeId { get; set; }
        /// <summary>
        /// 备注(128)
        /// </summary>
        [MaxLength(128, ErrorMessage = "备注长度不能超过128位")]
        public string? Remark { get; set; }
        /// <summary>
        /// 手机号(11)
        /// </summary>
        [MaxLength(11)]
        public string? PhoneNumber { get; set; }
        /// <summary>
        /// 个人说明(32)
        /// </summary>
        [MaxLength(32)]
        public string? Statement { get; set; }
        /// <summary>
        /// 学校名称(32)
        /// </summary>
        [MaxLength(32)]
        public string? SchoolName { get; set; }
        /// <summary>
        /// 头像路径
        /// </summary>
        public string? AvatarPath { get; set; }
        /// <summary>
        /// 背景路径
        /// </summary>
        public string? BackdropPath { get; set; }
        /// <summary>
        /// 生日
        /// </summary>
        public DateTime? Birthday { get; set; }
        /// <summary>
        /// 最后登录时间
        /// </summary>
        public DateTime? LastLoginDate { get; set; }
        /// <summary>
        /// 性别类型Id
        /// </summary>
        public int? GenderTypeId { get; set; }

        /// <summary>
        /// 用户类型名称
        /// </summary>
        public List<string> UserTypeCodes { get; set; }
    }
}
